import Vue from 'vue';
// 引入element UI
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
// 引入路由
import router from './router';
// 引入状态管理
import store from './vuex/store';
// 引入icon
import './assets/icon/iconfont.css'
// 引入后端api接口
import getApi from '@/api';
// 引入echarts
import echarts from 'echarts'
// 引入axios网络请求库
import axios from 'axios';
import App from './App';

// 解决移动端点击的300ms延迟插件
import FastClick from 'fastclick';

// 录音库
// import Recorder from 'recorder-core'

// 调用
// FastClick.attach(document.body);

// 使用element UI
Vue.use(ElementUI);

// 挂载一些需要的东西至vue原型上
Vue.prototype.$api = getApi;
Vue.prototype.$echarts = echarts
Vue.prototype.$axios = axios;

// TODO: 生产环境下记得改成false
Vue.config.productionTip = true;

// 添加过滤器
import * as custom from './utils/util'
Object.keys(custom).forEach(key => {
  Vue.filter(key, custom[key])
})

// 创建一个Vue实例
new Vue({
  router,
  store,
  render: h => h(App),
  data: {
    // 空的实例放到根组件下，所有的子组件都能调用 "Bus总线" 订阅者发布者模式
    Bus: new Vue()
  }
}).$mount('#app');
